Customer journey management

ABSTRACT

Systems and methods of managing customer journeys are implemented using one or more processors in a computing system. Each journey may comprise a succession of interactions at interaction points such as telephone conversations, responses to an interactive voice response “IVR” system and viewing a web page. Customer journey scores are determined for customers at one or more interaction points along the customer journey and the customer journey score is used to determine whether and when an intervention should take place. Models for determining customer journey scores may be created for a set of customers based on one or both of subjective and objective data relating to a subset of the set of customers that have made some or part of the journey, e.g. customers that have responded to polls. An intervention may take place during the journey or after completion of the journey.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/353,288 filed Mar. 14, 2019, which in turn is a continuation of U.S.patent application Ser. No. 16/193,368 filed Nov. 16, 2018 which issuedas U.S. Pat. No. 10,270,912 on Apr. 23, 2019, which in turn is acontinuation of U.S. patent application Ser. No. 15/986,983, filed May23, 2018 which issued as U.S. Pat. No. 10,142,475 on Nov. 27, 2018,which in turn is a continuation of U.S. patent application Ser. No.15/612,151, filed Jun. 2, 2017, which issued as U.S. Pat. No. 9,986,094on May 29, 2018, which in turn is a continuation of U.S. patentapplication Ser. No. 14/868,790, filed Sep. 29, 2015, which issued asU.S. Pat. No. 9,674,362 on Jun. 6, 2017, all of which are incorporatedherein by reference in their entirety.

FIELD OF THE INVENTION

The present invention is in the field of managing customer journeys, forexample managing a series of interactions between a customer and anotherparty, for example a company, in order to improve the efficiency andquality of the interactions, or the series of interactions which isknown as a “journey”.

BACKGROUND OF THE INVENTION

Customer journey management may involve customer journey mapping.Customer journey mapping can include the process of assembling allinteractions a customer has with a company or other third party into onetime-line. Examples of interactions include but are not limited to, eachpage view on a company website, telephone conversations and responses toan interactive voice response “IVR” system. A customer journey may berepresented in a computing system as a set of logged events, and eachevent may correspond to an interaction.

Customers may interact with companies over one or more channels such astelephone, email, web browsing and others. Consequently, customerjourneys may span one or more channels.

Customers may be identified by different identifiers at different times,according to the channel they are using (e.g. by a telephone number in acall center channel or an anonymous cookie in a web channel). Completecustomer journeys may be built up by joining up data across manychannels. Once this is done, various analyses are possible thatfrequently fall under the broad label of customer journey mapping.

Today companies can embark on customer journey mapping as they typicallybelieve that information derived from this exercise can help theirbusinesses in various ways such as:

-   -   Fixing and improving processes    -   Reducing customer effort and improving customer experience (CX)    -   Preventing customer defection and churn    -   Reducing the level of complaints    -   Increasing the level of up-selling and cross-selling        opportunities    -   Differentiating their business based on customer experience

However, there are typically difficulties centered on how the assembledcustomer journeys are used to achieve the above goals. To achieve any ofthese it is desirable to know, for example at one or more key stagesduring their journey, what the customer is trying to do and why.However, customer journey mapping may only provide a historical trail ofwhere customers have been and what actions they have performed. If itcan be inferred from this information what customers are trying to doand how successfully they are in doing it, it is possible to proactivelyintervene in the journey when necessary to improve the customerexperience.

The use of information, such as that provided by customer journeymapping, to intervene in a customer journey or otherwise improve acustomer journey for example by redesign of a web site or IVR system maybe termed customer journey management.

Today, most companies take one of several approaches to the use ofcustomer journey mapping information for customer journey management.Each of these gives a limited view of the customer's real intent.Examples of such approaches include:

-   -   Only using “attitudinal” sometimes called “intent based” survey        results—in this approach at some critical point in a customer        journey (e.g. immediately after finishing a call center call) a        survey question or questionnaire is sent to the customer, for        example using a text message, asking what their experience was        like or how completely they achieved their objective.        -   The problem here is that surveys are usually sent to only a            small subset of customers. If customers were asked questions            after every interaction some would soon become frustrated            and the effect would be to worsen the customer experience.    -   Only using behavioral events—these may comprise raw interaction        data, for example relating to page view events on the web,        products purchased, call center logs, etc.        -   This approach confines itself to the facts and makes no            attempt to reveal customer attitude or intent directly.            Human interpretation of patterns in the data is generally            required to infer attitude and then again human intervention            to make the required changes to address the above goals.    -   Using heuristics based on business assumptions, for example “if        a customer wants to do X then they will visit page A, then call        the call center”. The ease with which they perform a certain        sequence of actions is assumed to correlate with customer        satisfaction. A customer trying the same sequence several times        may be assumed to be having trouble and possibly require        assistance. The usefulness of this approach is limited by the        accuracy of the heuristics and provides no information about how        these heuristics are created in the first place. Furthermore, as        these heuristics are typically likely to be things a human can        easily remember and articulate they are likely to be relatively        simple and address only a small number of ideal interaction        paths. Real interaction paths are, generally, a lot more        complex.

The results of efforts to drive proactive action using known approachesare frequently inaccurate and sometimes counterproductive. By usingsmall sample sizes, not taking a joined up approach across the fullcustomer journey, and not taking into account the impact that the sum ofall customer interactions can have in the customer experience, mostapproaches are limited in the benefit they can deliver.

SUMMARY

Some embodiments of the invention provide systems and methods formanaging customer journeys of the kind comprising a succession ofinteractions at interaction points between a customer and another party.According to some embodiments of the invention, a customer journey scoremay be determined for the customer at one or more interaction pointsalong the customer journey and used to determine whether and when anintervention should take place. According to some embodiments of theinvention, customer journey score may be based on a combination ofsubjective and objective data relating to the customers. According tosome embodiments of the invention the customer journey score may bedetermined in real time using one or more processors in a computingsystem, for example as the customer progresses along the journey.Embodiments of the invention may be used to automate intervention in amanner that is not possible without the use of computing systems and mayresult in an improved experience for the customer and more efficientoperation of the systems overall.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed outand distinctly claimed in the concluding portion of the specification.The invention, however, both as to organization and method of operation,together with objects, features and advantages thereof, may beunderstood by reference to the following detailed description when readwith the accompanied drawings. Embodiments of the invention areillustrated by way of example and not limitation in the figures of theaccompanying drawings, in which like reference numerals indicatecorresponding elements, and in which:

FIG. 1 is a flow chart showing operations that may be performed as partof the configuration of a system for the determination and applicationof customer journey scores according to embodiments of the invention;

FIG. 2 is a flow chart showing operations that may be performedfollowing configuration of a method or system according embodiments ofthe invention, in order to build and improve predictive models;

FIG. 3 is a flow chart showing operations including determination ofcustomer journey score that may be performed following configuration ofa method or system according embodiments of the invention;

FIG. 4 illustrates an example of customer polling by text messageaccording to embodiments of the invention;

FIG. 5 illustrates an example of customer polling by email according toembodiments of the invention;

FIGS. 6A and 6B are schematic diagrams showing basic components of twoalternative systems according to embodiments of the invention;

FIG. 7 shows an example high level architecture suitable for a CJSserver as shown in either of FIG. 6A or 6B according to some embodimentsof the invention;

FIG. 8 shows an example high level architecture for a polling serveraccording to some embodiments of the invention;

FIG. 9 shows an example high level architecture for an interventionserver according to some embodiments of the invention;

FIG. 10 is a flow chart showing the use of customer journey scoring todecide whether to prompt an intervention according to embodiments of theinvention;

FIG. 11 is a schematic diagram illustrating a model buildingarchitecture for use in the creation of models.

FIG. 12 is a flow chart showing example operations performed as part ofa model building process according to embodiments of the invention;

FIG. 13 is a high level block diagram of an exemplary computing systemaccording to some embodiments of the present invention.

DETAILED DESCRIPTION

In the following description, various aspects of the present inventionwill be described. For purposes of explanation, specific configurationsand details are set forth in order to provide a thorough understandingof the present invention. However, it will also be apparent to oneskilled in the art that the present invention may be practiced withoutthe specific details presented herein. Furthermore, well known featuresmay be omitted or simplified in order not to obscure the presentinvention.

Although embodiments of the invention are not limited in this regard,discussions utilizing terms such as, for example, “processing,”“computing,” “calculating,” “determining,” “establishing”, “analyzing”,“checking”, or the like, may refer to operation(s) and/or process(es) ofa computer, a computing platform, a computing system, or otherelectronic computing device, that manipulates and/or transforms datarepresented as physical (e.g., electronic) quantities within thecomputer's registers and/or memories into other data similarlyrepresented as physical quantities within the computer's registersand/or memories or other information non-transitory processor-readablestorage medium that may store instructions, which when executed by theprocessor, cause the processor to perform operations and/or processes.Although embodiments of the invention are not limited in this regard,the terms “plurality” and “a plurality” as used herein may include, forexample, “multiple” or “two or more”. The terms “plurality” or “aplurality” may be used throughout the specification to describe two ormore components, devices, elements, units, parameters, or the like. Theterm set when used herein may include one or more items. Unlessexplicitly stated, the method embodiments described herein are notconstrained to a particular order or sequence. Additionally, some of thedescribed method embodiments or elements thereof can occur or beperformed simultaneously, at the same point in time, or concurrently.

The following are further definitions of terms used in this descriptionand in the field to which the invention relates:

“Customer” is used herein to refer to any individual undergoing ajourney comprising a series of interactions and is not limited toprospective purchasers of products or services. Furthermore the term“customer” is not limited to humans and could include machines andapplications running on processors in computing systems.

“Company” is a typical example of a third party with whom a customer mayinteract along a customer journey, either directly such as in atelephone call or indirectly such as via a website hosted on behalf of aparty. The third party may be any organization or individual.Embodiments of the invention are not limited to interactions betweencustomers and companies.

The term “attitudinal” is used to refer to data collected from customersthat is subjective, for example responses to polls in which one customermay give a different answer from another in exactly the samecircumstances.

The term “behavioral” is used to refer to objective data relating tocustomer activities such as call volume, call duration, whether acustomer made a purchase and other variables.

Objective data relating to customers may include other customerdescriptive data including values for other variables such as age,income, place of residence etc.

Interactions include but are not limited to views of or otherinteractions at a web page such as clicking on a link or typing text inresponse to a question, or interactions using other channels such astelephone, e.g. responses to an IVR system, exchange of SMS messages andexchange of email messages.

Interaction points may be any points at which a customer interacts withanother party, for example during a customer journey, such as but notlimited to web pages and responses to particular questions in an IVRsystem.

The term “intervention” is used to refer to any activity by or on behalfof the party with whom the customer is interacting to influence thecustomer journey or improve the customer's experience. An interventionmay be done in real time, for example a pop-up on a website; or later,for example following up with a voucher at the end of a journey.

The terms “survey” and “poll” are used interchangeably and are to beunderstood to have the same meaning herein unless otherwise stated.

Some embodiments of the invention provide systems and processes that useboth attitudinal data, such as survey response data, and behavioraldata, such as event data, to determine a score for a customer, alsoreferred to herein as a “customer journey score”. The score may bedetermined in real-time. A score may be determined for every customer orfor a subset of customers interacting with a company. According toembodiments of the invention, a customer journey score may be determinedfor customers for whom there is no behavioral and/or attitudinal data,for example by extrapolation of behavioral and attitudinal data relatingto other customers.

This score may estimate one of a family of metrics of interest. Examplesof these metrics may include but are not limited to:

Customer effort, for example how hard it is for the customer to achievetheir current task.

Customer satisfaction,

Propensity to register a complaint.

How likely to recommend to a friend

The customer journey score may be defined as a real-time prediction of ametric relating to the customer. According to embodiments of theinvention, the customer journey score depends on the customer's locationwithin the journey. For example, if the metric is satisfaction, thecustomer journey score may vary at points along the journey, for exampledepending on how many interactions have already occurred.

It is possible according to some embodiments of the invention formultiple scores to be determined for a customer, each score being anestimate of a different metric.

According to some embodiments of the invention, monitoring of one ormore of the scores e.g. constantly or at certain points in a customerjourney, may be used to prompt an intervention in the customer journey.An intervention may be prompted for example if the value of the scoreexceeds a predetermined threshold. For example, if a particularcustomer's customer effort score crosses some threshold indicating thecustomer is struggling to complete some task an intervention could beprompted. Another example could be if someone's level of dissatisfactioncrosses a threshold where a complaint is likely then a money-off vouchercould be automatically emailed to them that night. Different thresholdsmay be used for different metrics and different metrics may be scored indifferent ways. For example effort could be measured on a scale of 1-10and dissatisfaction could be measured on a scale of 1-5, both of whichcould be either in integers or in more precise values. It is evenpossible for more than one threshold to be defined for a particularmetric, for example there may be different thresholds for differentgroups of customers. The intervention could be automatic, for example onthe web a pop-up providing targeted assistance.

Some embodiments of the invention provide a process that collectsattitudinal data from a sample of customers and uses machine learning tobuild predictive models to infer satisfaction level or other metrics(such as customer effort) of any customer, not only those in the sample,and determine a score for the metric. According to some embodiments ofthe invention, a score may be determined anywhere in the customerjourney. According to some embodiments an appropriate score may bedetermined at predetermined points in the journey. This real-timeprediction is then used to automatically intervene in the customerjourney, for example when some threshold is crossed.

Processes and systems for determining and using customer journey scoresaccording to embodiments of the invention will now be described ingeneral terms with reference to FIGS. 1-3. They may be implemented usingalgorithms operated by one or more processors in a computing system andit will be appreciated that the operations involved in the processes maybe distributed across multiple processors in a variety of ways and notnecessarily separated into the operations illustrated in FIGS. 1-3. Theoperations shown in FIG. 1 may be considered to include configurationoperations. Some of the operations of FIG. 1 may be performed wholly orpartially by a user operating a device such as a desktop computer. Someof the operations of FIG. 1 may be performed automatically, for exampleusing one or more processors in a computing system. The operations shownin FIGS. 2 and 3 may be considered to include implementation operations.Systems and processes according to embodiments of the invention mayinclude some or all of the operations shown in FIGS. 1-3. For examplesome operations including but not limited to the design of content fore.g. polling or intervening in a journey, may be performed elsewhere,e.g. by another party.

In the first operation 101 shown in FIG. 1, one or more customerjourneys of interest may be defined, for example customer journeys to bemanaged such as one in which an intervention is desired, for examplewhen predicted customer effort is high or satisfaction is low. Customerjourneys may be defined in order to restrict interventions to customerswho are likely to be doing something of interest, e.g. buying a product,rather than those who stumble on an intervention point randomly. Thus acomputing system according to some embodiments of the invention mayreceive input defining, or for use in defining, a customer journey, anda customer journey is thereby predetermined.

Examples of journeys include but are not limited to: traveling throughthe sales funnel for a retailer (so-called because the number ofcustomers generally decreases towards the conclusion of the sale), firstbill payment e.g. for a telecom company, and the journey up to acomplaint e.g. for a financial services organization. Each journey ofinterest may be defined by entry and exit criteria. This may be used sothat at any point along the journey, customers in the journey ofinterest can be differentiated from those who are not.

To take the example of first bill pay, the entry criterion could be:customer has taken out a new account and billing date has passed butbill has not yet been paid. The exit criterion could be: bill paid. Forcomplaint, the entry criterion could be quite wide: any active customerwho has previously bought a product or service within a particular timeframe and the exit criteria could be a timeout period e.g. a period ofno activity which could be the same as the time frame. In a sales funneljourney for an online retailer the presence of a customer in the journeycould simply be defined as the customer having visited one of the salesfunnel pages on the company website within the last 30 minutes.

At the next operation 103 in FIG. 1 one or more polling points may bedefined. These are locations along the journey at which customers mightbe asked questions relating to the journey. Thus for example if thecustomer journey comprises visits to a series of web pages, thelocations may be web pages. In addition, one or more possibleintervention points may be defined. These are locations at which anintervention in the journey may occur. Polling points may be coincidentwith intervention points or they may be sited at different locations.Both the polling points and the possible intervention points may be asubset of all possible interaction points. In other words not all of theinteraction points in a customer journey are necessarily interventionpoints or polling points. Thus a computing system according toembodiments of the invention may receive input defining one or morepolling points and/or one or more intervention points.

At the next operation 104 in FIG. 1, metrics of interest may be defined.These may include metrics that can be determined using attitudinal datasuch as data from customer polls, for example degree of satisfaction orperceived level of effort to reach that point in the journey, andmetrics that can be determined from behavioral data, for examplepropensity to complain. This operation may also include thedetermination of a threshold for each metric, which may for exampledetermine whether an intervention in the customer journey should beprompted. More than one threshold may be determined for a metric. Forexample different thresholds may be used for different groups ofcustomers. The metrics and thresholds may be input, e.g. by an operator,and thus a computing system according to embodiments of the inventionmay receive input defining one or more metrics and one or morethresholds for each metric.

At the next operation 105 in FIG. 1, one or more polls may be designedto test one or more of the metrics defined at operation 104. Thus inputdata to a computing system for use in polling customers is received thatmight include the text for questions to be put to customers, ranges ofpossible scores, and other data as known in the art of designing polls.

At the next operation 106 in FIG. 1, one or more interventions may bedesigned for example a special offer to a customer with a high level ofdissatisfaction. Input data for use in intervention in a customerjourney is received that may determine the nature of the intervention,e.g. screen pop-up or special offer, text for help questions and so on.Operation 106 may include the design of different interventions fordifferent customers or customer groups to be applied according tosegmentation rules which may also be configured, for example, by userinput.

The design of polls and interventions may be wholly or partiallyperformed by an operator. At least part of these operations may beperformed using one or more processors, for example using configurabletemplates.

Following configuration a system may be ready for polling a selection ofcustomers and intervening in their journeys, for example according tothe flows shown in FIGS. 2 and 3.

Referring now to FIG. 2, at operation 107, a sample of customers in theone or more defined journeys is polled at one or more points in thejourney to generate attitudinal data for the polled customers. Pollingmay be done in various ways using one or more channels including but notlimited to email, text and telephone call. The results of polling mayprovide attitudinal data such as satisfaction level or degree of effortperceived by the polled customer. Polling may include one or morequestions and may be automatic. An example of polling by text message isillustrated in FIG. 4 which shows a series of questions and answerspresented on the screen of a smart phone 400. An example of polling viaemail is shown in FIG. 5 in which a customer is invited to take part inan online survey, in this example presented on a computer screen 500.

The question or questions asked in a poll may relate to a metric ofinterest. The question or questions may require a numerical value inresponse or a response that can be represented as a numerical value. Forexample “Yes” and “no” can be represented in binary form and a range ofdescriptors from “excellent” to “very poor” may be represented on ascale of 1 to 10.

A predetermined percentage of customers, for example between 1% and 10%,may be polled when they pass particular predefined points in thejourney. According to some embodiments of the invention it is ensuredthat the polling is random, for example to ensure a representativesample and/or to avoid over-polling customers. To ensure arepresentative sample a die may be thrown according to any knownalgorithm each time a customer arrives at a polling point to determinewhether the customer should be polled. Depending on the “fall” of thedie the customer may receive a survey question or questionnaire. Toavoid over-polling, rules may be applied for example to avoid pollingcustomers who have recently received another feedback request, or havevisited several polling points within a short period of time, forexample.

The next operation 109 in FIG. 2 is the obtaining of customer behavioraland/or other descriptive data. This may be achieved in various ways. Forexample this data may have been previously acquired based on previousinteractions with customers and stored in a store such as customer datastore 702 shown in FIGS. 7 and 11, or it may be obtained in real time inoperations running in parallel to the polling of customers. Behavioraldata may include website page view data, call center data such as numberof calls, results of speech analytics and a wide range of otherrecordable data relating to customer behavior. This may also beretrieved from a store such as customer data store 702. Operation 109may comprise obtaining all or a subset of the data stored in thecustomer data store. For example only the most recent data, defined by atime period such as last 24 hours, may be retrieved.

Operation 111 in FIG. 2 is the building of a set of predictive modelsthat may be used to determine customer journey scores. An example of acustomer journey score is a real-time prediction of a metric used duringthe polling operation 107, such as customer satisfaction or thepropensity of the customer to complain, or perceived level of effort. Apredictive model may use the metric as a dependent variable and otherdata, such as data pertaining to the particular customer as independentvariables. According to some embodiments of the invention, theprediction of a metric, in other words determining customer journeyscore, may be based on a combination of attitudinal and behavioral datapertaining to the customer.

Thus according to embodiments of the invention, using behavioral data,for example from historical customer journeys, together with the pollresults, models predicting a metric may be built and/or updated.According to embodiments of the invention models, for examplemathematical models, can be used to determine a customer journey scorefor any customer. In the case of a model using polling data, a modelbased on the polling data can be used to determine a customer journeyscore for any customer in the vicinity of the polling point. Thevicinity may be determined in various ways, for example number of webpage “hops” from the one on which a survey was presented.

Using models, a customer journey score may be determined for customersfor whom there is no attitudinal data. The models may be used accordingto some embodiments of the invention to extrapolate obtained pollresults to the remainder of the population who were not polled.

Some models may not require any customer-specific data at the time ofinitial building, in which case the building of the model or models maytake place before the polling of customers and obtaining of customerdata at operations 107 and 109. Whether or not such data is used in theinitial creation of a model, after either of operations 107 or 109 anyof customer attitudinal data, behavioral data and descriptive data maybe used to update a previously created model. Thus according to someembodiments of the invention one or models may be taught according toexperience using known techniques of machine learning in order toimprove the accuracy of prediction. This is illustrated in FIG. 2 wherethe flow returns from operation 111 to operation 107. The operations ofFIG. 2 may be part of a continuous loop and may be performed in anyorder.

FIG. 3 is a high level flow diagram showing operations which may beperformed during a customer journey, according to an illustrativeembodiment of the invention. Each box in FIG. 3 may indicate a singleoperation or a set of operations. A more detailed flow that may beimplemented according to some embodiments of the invention is describedwith reference to FIG. 10. At operation 113, during journeys made bycustomers, customer journey scores are determined, each using a modelfrom the set of predictive models built at operation 111. Thus accordingto some embodiments of the invention, at each pre-defined interactionpoint for a set of customers at which an intervention may take place,the predictive models are used to determine a customer journey score inreal-time. Each customer journey score produces an estimate, orprediction, of a dependent variable, the metric, for an individual. Forexample, if the model was a linear regression model it could berepresented by the equation:

prediction=c ₁ x ₁ +c ₂ x ₂ + . . . +c _(n) x _(n)  (1)

where c₁, c₂ . . . c_(n) are coefficients and x₁, x₂ . . . x_(n) areindependent variables including descriptive variables such as age andheight and behavioral variables such as frequency and times of visits.In some embodiments, the model can be a weighted sum. In someembodiments, the model is a combination of scores derived usingdifferent modeling techniques as is known in the art.

Thus according to some embodiments of the invention there may beavailable at all times a customer journey score for each of a set ofcustomers, updated at their last interaction. Then a system according tothe invention can retrieve or determine a current customer journey scorefor the customer at any time and use the score to determine whether anintervention in the customer journey should take place.

The next operation 115 shown in FIG. 3 is the application of one or morethresholds to determine whether an intervention should be prompted.According to some embodiments of the invention, whenever the customerjourney score for a particular customer for a particular metric crossesa threshold an action is triggered, such as the prompting of anintervention. This prompting may be as simple as flagging a user id, forexample along with a summary of their journey so far, to a humanoperator, so that the human operator can intervene. The intervention maytake the form of a pop-up help window in the web channel. Theintervention could be in the form of an email containing a personalizeddiscount or offer. More generally trends in customer journey scores maybe monitored and used to trigger other actions such as changing thejourney itself, for example by optimization of web content or redesignof a website map.

The next operation 117 shown in FIG. 3 is the segmentation of targetedactions, which may take place if an intervention is to be prompted asdescribed in more detail with reference to FIG. 10. According to someembodiments of the invention, different actions may be targeted atdifferent customer segments or sets of customers. This may be determinedby a set of configurable rules that may contain the logic of anydifferentiated action by segment. For example, high value customers mayreceive a call whereas other customer may only receive an invitation tochat during a web session. The operations of FIG. 3 are part of acontinuous loop for any particular customer undergoing a journey.

A customer journey score model of the kind built at operation 111 mayconsist of some function of a set of input or independent variables.Equation 1 is one example of a model. There are many other modelingtechniques that are well known in the art and may be used in someembodiments of the invention including but not limited to linearregression, logistic regression, decision tree, random forest, neuralnetwork, support vector machine and Bayesian network. The independentvariables may characterize the customer or aspects of the journey, ormay be any other factors that may affect the customer's experience orattitude. Any number of variables may be taken into account indetermining a customer journey score. Examples of variables include butare not limited to:

-   -   Number of channels visited over a specific period of time    -   Number of web pages visited, or some other definition or        indication of the customer's previous activity (which might        indicate that the customer needs help)    -   Average time spent per web session    -   Cost of contract for mobile phone customer    -   Number of previous calls to call center    -   (For a call center) Details on current call (such as call        length, number of transfers, number/length of silences)    -   Number of store visits, waiting times, traffic volumes, distance        from store, store format, etc.    -   Feedback scores and interaction sentiment data (where available)        Customer attributes: demographics, products, value segment, etc.    -   Etc.

Thus the customer journey score may be based on customer subjective orattitudinal data, such as the results of survey or polls, customerbehavioral data relating to customer activities (objective data),customer descriptive data (objective data) such as age, height, haircolor, or any combination of these kinds of data. According to someembodiments of the invention, customer journey scores, which may be usedin customer journey management such as intervention or modification, maybe based on a combination of at least subjective data and behavioraldata.

It will be appreciated from the foregoing that according to someembodiments of the invention the value for the customer journey scorewill depend on where the customer is in the journey.

A specific example of the use of customer journey scoring according tosome embodiments of the invention for intervention in a web session willnow be described.

FIGS. 6A and 6B are schematic diagrams showing basic components of twoalternative systems according to embodiments of the invention which mayuse customer journey scoring for intervention in a web session. Any ofthese components comprise a computing device including one or moreprocessors, for example they may include the computing system, orvariations or parts of the computing system, shown in FIG. 13.

Each of the systems shown in FIGS. 6A and 6B comprises a customerjourney score “CJS” server 601, a website host server 602 and a customerdevice 603 which may comprise for example a personal computer, forexample implementing a browser application. The browser application isable to communicate with the CJS server 601 via the website host server602.

It should be noted that the servers 601 and 602 need not be physicallyseparate or self-contained components. They could be virtual servers orservices on shared servers. The components of the systems shown in FIGS.6A and 6B may communicate with each other in any way including wired andwireless connections over one or more local, wide area or globalnetworks. A user of the system such as the owner of the website on whichthe web session is operating may have access to the website host server602, for example remote access via a user device such as a personalcomputer, and may use this to perform tasks such as updating ofinformation on a website. In other embodiments of the invention, thewebsite host server 602 may be replaced by a call center server. In thecase of a call center, the customer device may be equipment used by thecall center agent who records the response of the customer during atelephone call. It should also be noted that a customer journey serversuch as server 601 may serve multiple web host servers or call centerservers or both, and therefore a system according to some embodiments ofthe invention may include one or more CJS servers each serving one ormore other servers. Also, according to some embodiments of theinvention, the functions of any two or more of the system componentsshown in FIGS. 6A and 6B may be combined into one computing device orspread across more computing devices according to specific systemrequirements.

Either of the systems shown in FIGS. 6A and 6B may be configured withoperating parameters for a particular customer journey which may includeany of the following:

-   -   One or more locations to be used as polling points. Whenever a        customer visits one of these polling points a die is thrown and        depending on the fall of the die they may receive a survey        question.    -   One or more locations to be used as possible intervention        points. These may be coincident with the polling points or in        other places. Locations can also refer to an external means of        intervention with a customer such as an email targeting system.    -   One or more messages to be displayed to the customer for each        possible intervention point.    -   A Customer Journey Score threshold, for customers with scores        below which no action would be taken.    -   A set of segment targeting rules, directing particular actions        at particular segments.

According to some embodiments of the invention, the intervention andpolling locations may be provided to the website host server 602, forexample as part of the configuration of the website. According to someembodiments, the remaining parameters may be provided to and implementedby the CJS server 601.

CJS servers such as server 601 may be configured by, and under thecontrol of, the party interacting with the customer such as the companyowning the website. In the illustrated systems, for a customer tointeract with the system, the application at the location where thecontent is displayed, e.g. the customer device 603, must be able tocommunicate with the CJS server, 601.

The customer will be able to interact with the system typically atseveral different points during a customer journey for example betweeninitial landing on a website and making a purchase. Some of these pointsare designated as polling points and possible intervention points forexample in the configuration of the website. In the website example, thecustomer will view a series of web pages and, unbeknown to him/her, theprogress of his/her session will be logged to the CJS server. Forexample each webpage could be tagged so that every time it was loaded,e.g. rendered on the customer's screen, a request or notification wouldbe sent to the CJS server. If the end-customer visits a polling page, arequest will be sent from that page to the CJS server requesting asurvey. If the customer is selected by the polling logic to receive asurvey then it might be sent directly to the page or it might be sentvia some other channel, such as email or SMS. If the end-customerresponds to the survey the results will be logged in the CJS server.

The customer may then continue visiting other pages on the website. Ifthey visit an interaction point then a request is sent to the CJS serverrequesting an action. The CJS server will determine if any of theactions available to it should be taken depending on the currentcustomer journey score. This may be a pop-up offer to chat with anagent, an email offer or any other action available to the system.

In brief, users may have various actions displayed to them as theyinteract with some third party application. These actions may be aninvitation to chat through a pop-up, an email message or any otherinteraction.

Referring to FIG. 6A, possible information flows between the systemcomponents according to some embodiments of the invention may be asfollows:

611—a browser application running or executing on the customer device603 requests a page from the website host server 602612—if the customer is at one of the polling or possible interventionlocations, the website host server 602 sends a notification to the CJSserver 601613—the response of the CJS server 601 will depend on whether thelocation or point in the customer journey is a polling location or anintervention location.If the location is an intervention location, the CJS server 601 willdetermine a customer journey score for that location and if it is abovea predetermined threshold, an intervention will be prompted. This may bedone by the CJS server 601 sending to the website host server 602information enabling the website host server to perform theintervention, such as content for the intervention or the location ofcontent for the intervention. For example, the CJS server 601 mayrespond to the website host server 602 with a URL identifying a web pagecontaining an offer or the CJS may send a pop-up to be displayed to thecustomer. According to some embodiments of the invention, only one modelis used to predict one metric. According to other embodiments of theinvention more than one metric may be predicted, for example using arespective model for each metric. In that case the CJS server 601 maydetermine a customer journey score for each metric and prompt anintervention if any of them are above their predetermined threshold.If the location is a polling location, a die may be cast on the CJSserver 601 to select randomly a small sample of the customers at thatlocation, e.g. landing on that web page, and the CJS server 601 mayrespond to the website host server 602 with a URL identifying a web pagecontaining a survey or poll or may send the survey or poll as a pop-upto be displayed to the customer.614—the intervention, if the threshold is exceeded, or the survey orpoll is returned by the website host server 602 to the browser on thecustomer device 603.

Referring to FIG. 6B, possible information flows between the systemcomponents according to some embodiments of the invention may be asfollows:

621—a browser operating on customer device 603 requests a page from thewebsite host server 602

622—the website host server 602 returns the page to the browser and ifthe page is at a polling or intervention location, an embedded tag isincluded

623—when the page renders at the customer device 603, the tag sends arequest to the CJS server 601 for an intervention or survey

624—the CJS server 601 responds to the customer device in a similarmanner to flow 613 in FIG. 6A.

FIG. 7 shows a possible high level architecture suitable for a CJSserver 601 as shown in either of FIG. 6A or 6B according to someembodiments of the invention. The illustrated architecture is shown toinclude a data platform 701 with data storage including a customer datastore 702, model repository 705, poll repository 704 and actionrepository 703. The customer data store 702 may be the source ofbehavioral customer data the system will use to build predictive models.The customer data store 702 may also store other objective data relatingto customers including descriptive data such as age, income, place ofresidence etc. The architecture also includes a polling server 710 whichmay be used to handle the sending of surveys and storage of theresponses, for example using one or more of operations 107, 109, 111.Although shown as a separate block in FIG. 7, the polling server 710 mayreside on the data platform 701. The architecture further comprises anintervention server 715 which may implement one or more of operations113, 115 and 117. End customers, indicated at 720, may interact with thedata platform via the intervention server 715 or the polling server 710,for example via a website host server as shown in FIG. 6A. Thearchitecture shown in FIG. 7 also includes a model builder 722 connectedto the data platform 701.

In operation a CJS server or system according to embodiments of theinvention may listen for poll and intervention requests, for example asdescribed with reference to FIGS. 6A and 6B. These requests may bereceived through a well specified application programming interface“API”.

An example of the handling of poll requests is illustrated in moredetail schematically in FIG. 8. As shown, the Polling Server 710includes a poll request handler 802 and poll decision logic 803 andreceives poll requests 801. The poll requests 801, for example in flow612 or 623, may be triggered at certain locations or points during acustomer journey, for example as defined at operation 103 in FIG. 1, forexample at the end of a call center call or the conclusion of an onlinepurchase. A request 801 may be sent to the CJS server 601. For theillustrated architecture, the request will contain a customer identifierand a location, i.e. the identifier of the polling point that triggeredthe request, referred to herein as “location” but also sometimes knownin the art as “context”. The request is received by the poll requesthandler 802 in the Polling Server 710 which forwards the request to thepoll decision logic 803. The poll request handler 802 may do nothingmore than listen for requests and forward them to the poll decisionlogic. It may perform additional operations on requests such as checkingthat they are legitimate. The poll decision logic 803 determines whethera poll will be sent and, if so, which particular poll. Thus for examplethe poll decision logic may operate to select only a small random sampleof customers to be polled from those for which a poll request isreceived. According to other embodiments of the invention this samplingmay have been done before the poll request is received. If it is decidedthat the identified customer should be polled, a poll instruction ispassed from the poll decision logic to the poll handler 805. The pollhandler 805 may operate to retrieve the appropriate poll from the pollrepository 704 and send it to the customer indicated at 720, optionallyvia the website host server 602 by one of several channels. Polling maybe by text message (or a succession of messages), an email, a pop-up ona web browser or via any other channel. At some later time the customermay respond and the response forwarded by the poll handler 805 to belogged in the customer data store 702.

The handling of intervention requests is illustrated schematically inFIG. 9. As shown in FIG. 9, the intervention server 715 includes anintervention request handler 902 which may be integrated with orseparate from poll request handler 802, and action decision logic 903.Intervention requests 901, sent for example in flow 612 or 623, may betriggered at certain locations or points during a customer journey, forexample as defined at operation 103 in FIG. 1, as with poll requests.They may be triggered at different locations to the polling locationsand may for example be at points where assistance can easily be offered,for example, if the defined journey is a sales funnel, an interventionlocation may be towards the end of a sales funnel where the risk ofbasket abandonment is high. An intervention request from a customerdevice 603 is sent to the CJS server 601. As with a poll request thismay include the customer location, and a customer identifier. Therequest 901 is received by the request handler 902 at the interventionserver 715. The request handler 902 may first retrieve segmentinformation, if present, using the data stored at the customer datastore 702 for this particular customer. The request handler 902 thenretrieves available actions for the location, possibly restricted bysegmentation rules applicable to the customer, from the actionrepository 703.

The available actions and the segment if not already applied are passedto the action decision 903 logic which determines what action, if any,to return to the customer. An action instruction 904 may be output fromthe action decision logic if it is decided that some action should betaken, such as prompting an intervention. A prompt for an interventionmay include further information depending on what form the interventionis to take. For example as described with reference to FIGS. 6A and 6Bit may include content to be presented to a customer or the identity ofa location from where the content can be retrieved.

Systems and methods according to embodiments of the invention may beused to provide information on the performance of channels in whichcustomer journeys take place. For example if interventions are promptedmore frequently at one intervention point than at another, this may bean indication that the customer journey could be modified to improveperformance, measured for example by sales volume, click through rate orother well-known performance metric.

FIG. 10 is a flow chart showing an example of how action decision logic903 may operate to determine whether an intervention in a customerjourney should be prompted.

The flow of FIG. 10 begins with initialization at operation 1101,following which an intervention request 901 is received at operation1103 at an interaction point that has been determined to be a possibleintervention point. At operation 1104 a determination is made as towhether the customer is undergoing a journey of interest, for exampleaccording to criteria used to define the customer journey at operation101. If the customer is not undergoing a journey of interest, the logicreturns a no intervention decision at operation 1105 and the flowreverts to waiting for another intervention request. If the customer isundergoing a journey of interest, then at operation 1106 the appropriatecurrent customer journey score model, e.g. the current version ofequation (1), is retrieved for the customer identified in theintervention request.

According to some embodiments of the invention, the models may begeneric and applicable to any customer location. For example, suchmodels may include a variable relating to location so that the samemodel can be used at all locations. According to other embodiments ofthe invention, different models may be used for different locations inwhich case the appropriate model for that location will be retrieved atoperation 1106. The use of different models for different locations maybe useful in determining that a particular location, e.g. webpage,causes problems for individuals. A model for a particular location maybe built by filtering the polled customers that have visited thelocation and using only data related to those customers in the buildingof the model. If survey scores or poll results are filtered by location,it can be inferred that those scores are relevant to that location. Atoperation 1107 a customer journey score is determined for the customer.In one example, this may be done by scoring the customer profile againstthe customer journey score model to predict a survey score, e.g. whatscore that customer, who may not have been surveyed, would have given ifsurveyed. According to some embodiments of the invention the customerjourney score depends on one or more variables relating to the customer.Thus the determination of customer journey score may include theretrieval of customer data from the customer data store 702 for use inthe determination of customer journey score. The survey score is asimple example of customer journey score and may for example indicate ametric such as satisfaction level. According to some embodiments of theinvention, rather than simply indicating a predicted survey score, thecustomer journey score may take account of other variables, perhaps notavailable from survey data, to attempt to provide a more realisticindication of customer satisfaction level.

Following the determination of customer journey score in operation 1107,the score is compared to a threshold at operation 1109. If, at thispoint in the journey, the score is not above the threshold, the logicreturns a no intervention decision at operation 1111 and the flowrecommences next time an intervention request is received.

If the customer journey score exceeds the threshold, then at operation1113 intervention action selection rules are applied to determine whatkind of intervention should take place. The action selection rules mayuse segment information to determine the most appropriate action forthat user. For example, high net worth customers may be treateddifferently than other customers. For example a segment rules may be:

-   -   if segment=high_net_worth then select action_1    -   else select action_2    -   where, action_1 may be to schedule a personal call with an agent        and action_2 may be to display a chat pop-up on the customer's        screen.

An action is selected and returned at operation 1115, for example fromaction decision logic 903, for example to a calling applicationoperating at the website host server 602.

The flow of FIG. 10 may be repeated at subsequent locations that havebeen determined to be possible intervention points at operation 103 inFIG. 1.

FIG. 11 is a schematic diagram illustrating model building architecturefor use in the creation of models. The action decision logic 903 usesmodels from the model repository 705. These may include models thatestimate the customer's survey score, if they were surveyed at thecurrent moment. Models to predict survey score may be rebuilt regularly,for example nightly. In a possible embodiment of a system according tothe invention, a model builder 722 at the intervention server 715requests customer data from the customer data store 702, and therequested data is returned to the model builder 722. The model builder722 builds or updates stored models using the latest data and anyupdated or new models are then stored in the model repository 705, forexample with updated models replacing previous versions. The customerdata store may store customer data including values of variables foreach customer, e.g. age, past browsing history and many other things, atthe time of polling along with their poll response (e.g. survey score).This data will only be available for the subset of customers surveyed.This data may be used to build a model. Equation (1) is one example of amodel.

FIG. 12 is a flow chart showing an example of how models may be built,or created, for determining customer journey scores. The operations ofFIG. 12 may be performed in model builder 722. These models mayincorporate the latest behavioral and survey data. The example shown inFIG. 12 is for the prediction of survey score. Models for predictingother metrics may be built, e.g. created, in a similar way.

After initialization at operation 1201 the model builder may be in awaiting state at operation 1203 for sufficient data to have beenaccumulated. Then at operation 1205 customer data for all previouslysurveyed customers may be retrieved. Some of this may not requirefurther processing. Other data such as voice conversation data or freetext provided in an independent survey may be processed before beingused in the creation of a model. Thus in operation 1207 this other datais parsed, for example to find one or more keywords. This and possiblyother retrieved data may be used to create variables. These variablesmay be additional to variables already provided in a basic initialmodel. A model such as equation (1) is then created to determine avariable, in this example survey score. The created model is then storedat operation 1211 in the model repository 705. The model may be storedalong with the survey location, e.g. polling point such as webpage orother location from which the request was sent, so that it is only usedto predict survey score for the same or similar locations. A set ofmodels for different locations may be created as data is accumulated.Additional sets of models may be created for different metrics. A modelmay be created automatically, for example using software operating onone or more processors. A default or initial model may use everyvariable for which a value is stored in the customer database. The modelbuilder may learn that one or more variables do not affect the customerjourney score and cease to retrieve them in future determinations ofcustomer journey score. According to some embodiments of the inventionat least part of the initial creation of the predictive models involvesuser input, for example receiving an initial selection of independentvariables to be used in the determination of the dependent variable.

FIG. 12 illustrates operations that may be performed in the initialbuilding of models. Models may be updated in a similar process to thatof FIG. 12. In a model updating process, it is possible that inoperation 1205 only the most recent data, e.g. the last 24 hours, isretrieved and one or more models are modified, rather than built, inoperation 1209.

Embodiments of the invention may use the following data structures:

1. Model Repository

-   -   Map of locationID->model    -   This may store the latest build of each model so they can be        retrieved by location ID.

2. Customer profile

-   -   Set of independent variable values.    -   The exact form may be model dependent. For example, for a        logistic regression model the independent variables must be        numeric quantities associated with each variable    -   Set of dependent variable values    -   These may be real values containing the survey responses        returned by the customer. This could be a score between 1 and 5.

3. Action selection rules

-   -   These may generally be a set of rules in the form:    -   if (some condition) then select (some action)    -   These rules could be represented in any rules language, such as        ilog.

4. Action

-   -   An action may generally be a fragment of xml containing an        instruction for an external tool, either on the customer's        browser or some other device. For example, the xml could contain        a URL pointing to some content to be rendered on the customer's        screen. Alternatively, it could contain an instruction for a        third party email tool to schedule a customer email.

Reference is made to FIG. 13 showing a high level block diagram of anexemplary computing system 1300 according to some embodiments of thepresent invention, for example for use in systems according toembodiments of the invention. For example, CJS server 601 or othercomputing devices carrying out all or part of some embodiments of thepresent invention may include components such as those included incomputing system 1300. Computing system 1300 may comprise a singlecomputing device or components, and functions of system 1300 may bedistributed across multiple computing devices. Computing system 1300 mayinclude one or more controllers such as controller 1305 that may be, forexample, a central processing unit processor (CPU), a chip or anysuitable processor or computing or computational device, an operatingsystem 1315, a memory 1320, a storage 1330, input devices 1335 andoutput devices 1340. For example, server 601 may include one or morecontrollers similar to controller 1305, server 601 may include one ormore memory units similar to memory 1320, and server 601 may include oneor more executable code segments similar to executable code 1325. One ormore processors in one or more controllers such as controller 1305 maybe configured to carry out methods according to some embodiments of theinvention. For example, controller 1305 or one or more processors withincontroller 1305 may be connected to memory 1320 storing software orinstructions that, when executed by the one or more processors, causethe one or more processors to carry out a method according to someembodiments of the present invention. Controller 1305 or a centralprocessing unit within controller 1305 may be configured, for example,using instructions stored in memory 1320, to perform the operationsshown in either of FIG. 10 or 12. The platforms 701 and 715 of FIG. 7may be implemented as executable code stored in memory 1320 to beexecuted by one or more processors, for example in controller 1305.

Operating system 1315 may be or may include any code segment designedand/or configured to perform tasks involving coordination, scheduling,arbitration, supervising, controlling or otherwise managing operation ofcomputing system 1300, for example, scheduling execution of programs.Operating system 1315 may be a commercial operating system. Memory 1320may be or may include, for example, a Random Access Memory (RAM), a readonly memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), adouble data rate (DDR) memory chip, a Flash memory, a volatile memory, anon-volatile memory, a cache memory, a buffer, a short term memory unit,a long term memory unit, or other suitable memory units or storageunits. In one embodiment, memory 1320 is a non-transitoryprocessor-readable storage medium that stores instructions and theinstructions are executed by controller 1305. Memory 1320 may be or mayinclude a plurality of, possibly different memory units.

Executable code 1325 may be any executable code, e.g., an application, aprogram, a process, task or script. Executable code 1325 may be executedby controller 1305 possibly under control of operating system 1315.Executable code 1325 may comprise code for selecting an offer to beserved and calculating reward predictions according to some embodimentsof the invention.

In some embodiments, more than one computing system 1300 may be used.For example, a plurality of computing devices that include componentssimilar to those included in computing system 1300 may be connected to anetwork and used as a system.

Storage 1330 may be or may include one or more storage components, forexample, a hard disk drive, a Compact Disk (CD) drive, a CD-Recordable(CD-R) drive, a universal serial bus (USB) device or other suitableremovable and/or fixed storage unit. For example, memory 1320 may be anon-volatile memory having the storage capacity of storage 1330.Accordingly, although shown as a separate component, storage 1330 may beembedded or included in memory 1320. Storage 1330 or memory 1320 mayserve the function of the model repository 705, poll repository 704,customer data store 702 and action repository 703 shown in FIG. 7.

Input to and output from a computing system according to someembodiments of the invention may be via an API, such as API 1312 shownin FIG. 13. The API 1312 shown in FIG. 13 operates under the control ofthe controller 1305 executing instructions stored in memory 1320. Inputto and output from the system via the API may be via an input/outputport. Input may comprise poll requests 801, for example from customerdevice 603 or website host server 602. Output may comprise a poll oraction 904.

The CJS server 601 may include user input devices. Input devices 1335may be or may include a mouse, a keyboard, a touch screen or pad or anysuitable input device. It will be recognized that any suitable number ofinput devices may be operatively connected to computing system 1300 asshown by block 1335.

The CJS server 601 may include one or more output devices. Outputdevices 1340 may include one or more displays, speakers and/or any othersuitable output devices. It will be recognized that any suitable numberof output devices may be operatively connected to computing system 1300as shown by block 1340. Any applicable input/output (I/O) devices may beconnected to computing system 1300 as shown by blocks 1335 and 1340. Forexample, a wired or wireless network interface card (NIC), a modem,printer or a universal serial bus (USB) device or external hard drivemay be included in input devices 1335 and/or output devices 1340.

Input devices 1335 and output devices 1340 are shown as providing inputto the system 1300 via the API 1312 for the purpose of embodiments ofthe invention. For the performance of other functions carried out bysystem 1300, input devices 1335 and output devices 1340 may provideinput to or receive output from other parts of the system 1300.

Alternatively, all output from the CJS server 601 may be to a remotedevice such as a user device in which case the output devices may bereplaced by a data port.

Some embodiments of the invention may include a computer readable mediumor an article such as a computer or processor non-transitory readablemedium, or a computer or processor non-transitory storage medium, suchas for example a memory, a disk drive, or a USB flash memory, encoding,including or storing instructions, e.g., computer-executableinstructions, which, when executed by a processor or controller, carryout methods disclosed herein. For example, some embodiments of theinvention may comprise a storage medium such as memory 1320,computer-executable instructions such as executable code 1325 and acontroller such as controller 1305.

A system according to some embodiments of the invention may includecomponents such as, but not limited to, a plurality of centralprocessing units (CPU), e.g., similar to controller 1305, or any othersuitable multi-purpose or specific processors or controllers, aplurality of input units, a plurality of output units, a plurality ofmemory units, and a plurality of storage units. An embodiment of systemmay additionally include other suitable hardware components and/orsoftware components. In some embodiments, a system may include or maybe, for example, a personal computer, a desktop computer, a mobilecomputer, a laptop computer, a notebook computer, a terminal, aworkstation, a server computer, a Personal Digital Assistant (PDA)device, a tablet computer, a network device, or any other suitablecomputing device. Unless explicitly stated, the method embodimentsdescribed herein are not constrained to a particular order or sequence.Additionally, some of the described method embodiments or elementsthereof can occur or be performed at the same point in time.

Unless explicitly stated, the method embodiments described herein arenot constrained to a particular order or sequence. Additionally, some ofthe described method embodiments or elements thereof can occur or beperformed at the same point in time.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents may occur to those skilled in the art.

Unless explicitly stated, the method embodiments described herein arenot constrained to a particular order or sequence. Additionally, some ofthe described method embodiments or elements thereof can occur or beperformed at the same point in time.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents may occur to those skilled in the art. It is, therefore, tobe understood that the appended claims are intended to cover all suchmodifications and changes as fall within the true spirit of theinvention.

Various embodiments have been presented. Each of these embodiments mayof course include features from other embodiments presented, andembodiments not specifically described may include various featuresdescribed herein.

1. A method of using a predictive model to manage customer journeys, themethod comprising using one or more processors in a computer server:receiving data defining a plurality of customer journeys, each customerjourney comprising a succession of logged events representing ahistorical trail of previous actions performed by a particular customerin a computing system, each event corresponding to an interaction at aninteraction point between a customer device and a server or otherdevice; at each of a plurality of interaction points of a particularcustomer in a customer journey: retrieving from computer data storage acombination of independent variables relating to the customer; using apredictive model to determine a dependent variable representing acustomer journey score for the particular customer at the interactionpoint based on the combination of independent variables relating to thecustomer; determining if the dependent variable representing thecustomer journey score is above a threshold; and if the dependentvariable representing the customer journey score is above the threshold,sending information to be displayed.
 2. The method of claim 1, whereinthe combination of independent variables includes objective datarelating to the customer.
 3. The method of claim 1, wherein thecombination of independent variables includes survey data relating tothe customer.
 4. The method of claim 3, wherein the predictive model isbuilt by executing a continuous loop in which each iteration of thecontinuous loop comprises: collecting the survey data from a sample ofcustomers; and using machine learning to build the predictive modelbased on the accumulated survey data.
 5. The method of claim 4, whereinthe predictive model is built using machine learning to learn that oneor more of the independent variables in the predictive model do notaffect the dependent variable and ceasing to retrieve the one or more ofthe independent variables in future uses of the predictive model todetermine the dependent variable.
 6. The method of claim 1, wherein thepredictive model is built by storing, in computer data storage, datastructures including one or more location identifiers for one or morepredictive models, a set of values for a plurality of independentvariables, a set of values for one or more dependent variables,suggested action rules for one or more interventions, andcomputer-executable instructions for performing the suggested actionrules.
 7. The method of claim 1, wherein if the dependent variablerepresenting the customer journey score is above the threshold,comprising intervening in the customer journey to change the customerjourney itself by sending the device information to modify web content.8. The method of claim 1, wherein if the dependent variable representingthe customer journey score is above the threshold, comprisingintervening in the customer journey by sending information to bedisplayed in a pop-up window on the customer device.
 9. The method ofclaim 1, wherein the information to be displayed to the customer is anemail containing a personalized discount or offer.
 10. The method ofclaim 3, wherein the survey data is collected from a sample of customerstriggered at predetermined interaction points during the customers'journeys.
 11. The method of claim 3, wherein the dependent variable isdetermined for the particular customer for whom there is no survey databy extrapolating obtained survey data to the particular customer who wasnot polled.
 12. The method of claim 1, wherein the predictive model isdefined at each of a plurality of interaction points based on one ormore independent variables representing survey data obtained fromcustomers within a number of journey points from the interaction point.13. The method of claim 1 comprising, using said one or more processors,determining the dependent variable as a weighted sum of the combinationof independent variables.
 14. The method of claim 1 comprising, usingsaid one or more processors: retrieving from computer data storagedescriptive data relating to the customer; and using the predictivemodel to determine the dependent variable at each interaction pointbased on a combination of independent variables representing objective,survey and descriptive data.
 15. The method of claim 1, wherein thedependent variable representing the customer journey score is anestimate of customer satisfaction.
 16. The method of claim 1, whereinthe customer journey comprises interactions occurring over multiplecommunication channels.
 17. The method of claim 3, wherein the surveydata is obtained by polling a random sampling of customers at aninteraction point along the journey.
 18. The method of claim 1, whereinsaid determining if the dependent variable representing the customerjourney score is above a threshold is triggered by an interaction at apredetermined interaction point by the particular customer in thecustomer journey.
 19. The method of claim 1 comprising, using said oneor more processors, retrieving the predictive model from among a set ofmultiple predictive models for determining multiple respective dependentvariables, each of the multiple respective dependent variables being ameasure of a different customer journey score.
 20. The method of claim19 comprising, using said one or more processors, selecting thepredictive model associated with a particular location of theinteraction point in the customer journey.
 21. The method of claim 20,wherein the predictive model associated with the particular location isbuilt by filtering customers from the plurality of customers that havevisited the particular location and using only data representingprevious actions performed by the filtered customers.
 22. A system forusing a predictive model to manage customer journeys, the systemcomprising: a computer server comprising one or more processorsconfigured to: receive data defining a plurality of customer journeys,each customer journey comprising a succession of logged eventsrepresenting a historical trail of previous actions performed by aparticular customer in a computing system, each event corresponding toan interaction at an interaction point between a customer device and aserver or other device, at each of a plurality of interaction points ofa particular customer in a customer journey: retrieve from computer datastorage a combination of independent variables relating to the customer,use a predictive model to determine a dependent variable representing acustomer journey score for the particular customer at the interactionpoint based on the combination of independent variables relating to thecustomer, determine if the dependent variable representing the customerjourney score is above a threshold, and if the dependent variablerepresenting the customer journey score is above a threshold, sendinformation to be displayed.
 23. The system of claim 20, wherein thecombination of independent variables includes objective data relating tothe customer.
 24. The system of claim 20, wherein the combination ofindependent variables includes survey data relating to the customer. 25.The system of claim 24, wherein the predictive model is built byexecuting a continuous loop in which each iteration of the continuousloop comprises: collect the survey data from a sample of customers, anduse machine learning to build the predictive model based on theaccumulated survey data.
 26. The system of claim 22, wherein thepredictive model is built using machine learning to learn that one ormore of the independent variables in the predictive model do not affectthe dependent variable and cease to retrieve the one or more of theindependent variables in future uses of the predictive model todetermine the dependent variable.
 27. The system of claim 22 comprisingcomputer data storage configured to store data structures including oneor more location identifiers for one or more predictive models, a set ofvalues for a plurality of independent variables, a set of values for oneor more dependent variables, suggested action rules for one or moreinterventions, and computer-executable instructions for performing thesuggested action rules.
 28. The system of claim 22, wherein if thedependent variable representing the customer journey score is above thethreshold, changing the customer journey itself by sending the deviceinformation to modify web content.
 29. The system of claim 22, whereinthe information to be displayed to the customer is an email containing apersonalized discount or offer.
 30. The system of claim 22, wherein theone or more processors are configured to: retrieve from computer datastorage descriptive data relating to the customer, and use thepredictive model to determine the dependent variable at each interactionpoint based on a combination of independent variables representingobjective, survey and descriptive data.
 31. The system of claim 22,wherein the one or more processors are configured to retrieve thepredictive model from among a set of multiple predictive models fordetermining multiple respective dependent variables, each of themultiple respective dependent variables being a measure of a differentcustomer journey score.